{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "讲师： 沈福利\n",
    "\n",
    "本章节目标\n",
    "1. 绘制一个简单的图形 箱线图\n",
    "2. 幸存和遇难乘客的票价分布\n",
    "3. 幸存和遇难乘客的年龄分布"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 箱线图¶\n",
    "箱线图，又称盒式图，它是在 1977 年提出的，由五个数值点组成：最大值 (max)、最小值 (min)、中位数 (median) 和上下四分位数 (Q3, Q1)。它可以帮我们分析出数据的差异性、离散程度和异常值等。\n",
    "在 Matplotlib 中，我们使用 plt.boxplot(x, labels=None) 函数，其中参数 x 代表要绘制箱线图的数据，labels 是缺省值，可以为箱线图添加标签。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 导入库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "# 设置字体大小和图表的大小\n",
    "plt.rc('figure',figsize = (12,9))\n",
    "plt.rc('font',size = 15)\n",
    "# 中文乱码问题\n",
    "from matplotlib.font_manager import _rebuild\n",
    "_rebuild()\n",
    "plt.rcParams['font.sans-serif']=[u'SimHei']\n",
    "plt.rcParams['axes.unicode_minus']=False"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 绘制一个简单的箱线图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "生成0-1 之间的10 ＊ 4 维数据，然后通过matplotlib 进行箱线图的展示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.18645784,  0.19991855,  1.01908674,  0.32994984],\n",
       "       [-0.89129468,  2.02203882, -1.27246379,  1.56068777],\n",
       "       [-0.34855339,  0.14757473, -0.3944647 , -0.68451318],\n",
       "       [-1.78863453, -0.35815815, -1.0011706 , -0.99797507],\n",
       "       [ 0.75872878,  1.1130661 , -1.85603011,  1.39306984],\n",
       "       [-1.24425014,  1.2919403 ,  0.62274758, -0.54177076],\n",
       "       [-1.74817702,  1.05657876, -0.54655897,  2.40762758],\n",
       "       [-1.0110328 , -0.32660261, -0.20600249,  0.70842355],\n",
       "       [-0.69122868,  1.10453577,  1.60773214,  0.01522845],\n",
       "       [ 1.30930572, -0.43310786,  0.84010451, -1.18920724]])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = np.random.normal(size = (10,4))\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "labels = ['A','B','C','D']\n",
    "# using matplotlib 绘制图表\n",
    "\n",
    "fig = plt.boxplot(data,labels=labels)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 泰坦尼克号 数据分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 加载数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "      <th>pclass</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>sibsp</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>embarked</th>\n",
       "      <th>class</th>\n",
       "      <th>who</th>\n",
       "      <th>adult_male</th>\n",
       "      <th>deck</th>\n",
       "      <th>embark_town</th>\n",
       "      <th>alive</th>\n",
       "      <th>alone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Cherbourg</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   survived  pclass     sex   age  sibsp  parch     fare embarked  class  \\\n",
       "0         0       3    male  22.0      1      0   7.2500        S  Third   \n",
       "1         1       1  female  38.0      1      0  71.2833        C  First   \n",
       "2         1       3  female  26.0      0      0   7.9250        S  Third   \n",
       "3         1       1  female  35.0      1      0  53.1000        S  First   \n",
       "4         0       3    male  35.0      0      0   8.0500        S  Third   \n",
       "\n",
       "     who  adult_male deck  embark_town alive  alone  \n",
       "0    man        True  NaN  Southampton    no  False  \n",
       "1  woman       False    C    Cherbourg   yes  False  \n",
       "2  woman       False  NaN  Southampton   yes   True  \n",
       "3  woman       False    C  Southampton   yes  False  \n",
       "4    man        True  NaN  Southampton    no   True  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic = pd.read_csv('data/titanic.csv',index_col = 0)\n",
    "titanic.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 幸存和遇难的乘客的票价分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_data_survived =  [0 1]\n"
     ]
    }
   ],
   "source": [
    "# x 轴的标签数据\n",
    "x_data_survived = np.unique(titanic['survived'])\n",
    "print('x_data_survived = ',x_data_survived)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# y 轴的数据数值内容\n",
    "y_data_fare = []\n",
    "\n",
    "for data in x_data_survived:\n",
    "    survived_fare = titanic[titanic['survived']==data]['fare'].values\n",
    "    y_data_fare.append(survived_fare)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0,0,'0'), Text(0,0,'1')]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 调用matplotlib 函数，绘制图表\n",
    "_,ax = plt.subplots()\n",
    "fig = ax.boxplot(y_data_fare)\n",
    "\n",
    "# 设置部署\n",
    "ax.set_xlabel(u'survived 取值(0-遇难 1－幸存)')\n",
    "ax.set_ylabel('fare-票价')\n",
    "ax.set_title('幸存和遇难的乘客的票价分布')\n",
    "ax.grid(True) # 图中显示表格 \n",
    "\n",
    "ax.set_xticklabels(x_data_survived) # 图中x_data 保持一致"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 幸存和遇难乘客年龄的分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 891 entries, 0 to 890\n",
      "Data columns (total 2 columns):\n",
      "age         714 non-null float64\n",
      "survived    891 non-null int64\n",
      "dtypes: float64(1), int64(1)\n",
      "memory usage: 20.9 KB\n"
     ]
    }
   ],
   "source": [
    "# age 存在数值缺失\n",
    "titanic[['age','survived']].info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Int64Index: 714 entries, 0 to 890\n",
      "Data columns (total 2 columns):\n",
      "age         714 non-null float64\n",
      "survived    714 non-null int64\n",
      "dtypes: float64(1), int64(1)\n",
      "memory usage: 16.7 KB\n"
     ]
    }
   ],
   "source": [
    "# age 缺失数据处理\n",
    "data_age_clean = titanic[['age','survived']].dropna()\n",
    "data_age_clean.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_data_survived= [0 1]\n"
     ]
    }
   ],
   "source": [
    "x_data_survived = np.unique(data_age_clean['survived'])\n",
    "print('x_data_survived=',x_data_survived)\n",
    "\n",
    "y_data = []\n",
    "for dat in x_data_survived:\n",
    "    survived_age = data_age_clean[data_age_clean['survived']==data]['age'].values\n",
    "    y_data.append(survived_age)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0,0,'0'), Text(0,0,'1')]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# boxplot 绘制图表\n",
    "_,ax = plt.subplots()\n",
    "fig = ax.boxplot(y_data)\n",
    "\n",
    "# 设置参数\n",
    "ax.set_xlabel(u'survived 取值(0-遇难 1－幸存)')\n",
    "ax.set_ylabel('年龄-票价')\n",
    "ax.set_title('幸存和遇难的乘客的年龄分布')\n",
    "ax.grid(True) # 图中显示表格 \n",
    "\n",
    "ax.set_xticklabels(x_data_survived) # 图中x_data 保持一致"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "176px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
